Field of the Invention
The present invention relates to an information processing technique.
Description of the Related Art
A mobile computer is basically formed from three elements, that is, hardware as the computer itself, an operating system (to be referred to as an OS hereinafter) operating on the hardware, and an application operating on the OS. By using the application, the user can use a function such as that of a map, mail, or browsing of a Web site on the Internet.
As examples of the form of such application operating on the mobile computer, there are mainly two application forms, that is, a native application and Web application. The features of each application form will be explained below.
The native application is developed by using a development environment and development language which are prepared for each OS. For example, the C/C++ language is used on an OS provided by company A, the Java® language is used on an OS provided by company B, and a different development language is used on an OS provided by company C. In general, the native application is compiled in advance in each development environment, and converted from a so-called high-level language understandable by a human into instruction sets such as an assembler language interpretable by the CPU of the computer. Thus, the general native application has an advantage that it is possible to perform an operation at high speed since the CPU directly interprets instructions.
On the other hand, the Web application indicates an application operating on a Web browser which is normally incorporated in an OS on each computer in recent years. The application is generally developed by using a language such as HTML5, CSS, or JavaScript® so that the Web browser can interpret the application. These languages are Web standard languages. Therefore, if a Web application is described using the Web standard language, it can operate in any environment where the Web browser operates.
Recently, various kinds of OSs are used as the mobile computers have become widespread. Hence, an important challenge in software development is how to develop applications that operate on the OSs in a short time and offer them to users speedily.
In software development, a method called cross development is used. Cross development is a method of developing most part of an application using a common program language cross-sectionally usable for various OSs. Since the common program language is used, the man-hours to independently develop an application for each OS become unnecessary, and this method is known as an effective development method.
The Web application is one of software programs developed by using a common program language cross-sectionally usable for various OSs. However, the Web application operates on the browser and cannot therefore be distributed from Web sites such as application stores run by vendors as a native application. Many developers desire a cross development method in a native application which can be distributed from Web sites.
As one of cross development methods for distributable software, a hybrid application described in Japanese Patent Laid-Open No. 2013-80470 has received attention. In the hybrid application, the application itself is distributed to users as a native application. However, all or most of user interfaces (UIs) are described in a Web standard language such as HTML5, CSS, or JavaScript. That is, one application includes a native layer and a script layer using a Web standard language. When such arrangement is employed, it is possible to develop software that makes use of both the advantage of the native application and that of the Web application.
The Web application performs all processes in the script layer. Therefore, when performing processing such as image processing with a heavy load, the processing time becomes long. To cope with this, in the arrangement of the hybrid application, it is possible to shorten the processing time by separating image processing, and causing the native layer capable of performing a high-speed operation to perform the image processing.
Since, however, the script layer and native layer use different description languages, data associated with image processing cannot be directly communicated between the script layer and native layer. Therefore, the script layer is not notified of the status of the native layer such as the processing status, and thus the user may not be notified of the progress status of the processing.